It is desirable for groups of users to have shared, collaborative access to documents and other files in an enterprise or other multi-user environment. A number of platforms support document collaboration. One example is Google Docs, which is a cloud based suite of programs that allows users to create, edit and store documents online, and to collaborate with other users. Google Docs currently includes a word processor, spreadsheet program, drawing program and form creator. A user can view and edit his or her documents from any computer with an Internet connection. The owner of a document can also give other users viewing or editing rights. Documents can be shared, opened, and edited by multiple users simultaneously. Documents are automatically saved to servers in the cloud, and a revision history is kept so that past edits may be viewed and previous versions of documents can be accessed. Documents can also be tagged and archived for organizational purposes. Users can be notified of edits, comments, replies and discussions concerning documents.
Various programs support sharing of different types of files in various contexts. Some other examples of such software include SharePoint, XaitPorter, SkyDrive and Drop Box. Although the exact functionality can vary between products, collaboration software typically supports features such as allowing multiple users to work on a single document at the same time from multiple computers, indicating when other users are active on documents, allowing users to set access permissions for their documents, allowing users to tag documents, allowing users to make and reply to content specific comments, maintaining a revision history and providing users with notifications of activity events concerning shared documents.
The underlying implementation architectures and operating environments used in file sharing and collaboration systems can vary between products. Typically, some form of shared storage architecture with supporting software (e.g., volume management, cluster management, cluster/parallel/distributed file system, sync service, etc.) is utilized, either “in the cloud” or on an organization's private network, with transparent network based access for users.
In file sharing and document collaboration systems, users often want current information indicating what activities occur concerning files which they have created, edited, or in which they otherwise have an interest. As noted above, collaboration systems can stream notifications of activity events to users. However, in a collaborative environment, particularly one in which a large number of documents are shared, so many activity events can occur so frequently that users become completely overwhelmed with notifications. When this occurs, users tend to ignore all received notifications, making the streaming of activity event notifications virtually useless. Some systems allow users to specify for which files they would like to receive event notifications. However, even where users limit their feeds to files or projects on which they are active, the frequency and number of notifications still tends to be very high. Users sometimes adjust their settings in an attempt to receive only desired notifications, but because of limited knowledge on the part of the users as well as the sheer extent of file activity in a collaboration environment, users can end up making frequent manual tweaks to their settings and still be overwhelmed with streamed notifications. This problem exists in both enterprise and consumer settings, but in enterprise it is more severe because the volumes of files tend to be larger, and documents tend to be shared more.
It would be desirable to address these issues.